Generally, engineering environments are provided to specify requirements, design and implementation details for solution. The engineering environments are provided in standard language that is utilized by a multiple commercial vendors. However, the standard language does not incorporate domain specific vocabulary for different domains like finance/banking, software. Generally, a problem domain refers to the specific problem or task that a particular software application is designed to perform.
The process of designing a domain specific language is often done by persons who are well experienced in the field of computer science and language analytics. It is often only economical to create domain specific languages for problem domains that are of sufficient scale and complexity to warrant the cost of creating an appropriate domain specific language.